<?php
    $indexs = snmp2_real_walk($machine->getAdresseIp(), $machine->getCommunity(), '1.3.6.1.2.1.25.2.3.1');
    $tabStorage = array();
    //Récupération des index
    $indexs = snmp2_real_walk($machine->getAdresseIp(), $machine->getCommunity(), '.1.3.6.1.2.1.25.2.3.1.1');
    foreach($indexs as $ind) {
        $ind = str_replace("INTEGER: ", "", $ind);
        $tabStorage[$ind]["id"] = $ind;
    }
    $syscontact = snmp2_real_walk($machine->getAdresseIp(), $machine->getCommunity(), '.1.3.6.1.2.1.25.2.3');
    foreach($tabStorage as $index => $t) {
        //$index est l'index pour le SNMP
        if($syscontact["HOST-RESOURCES-MIB::hrStorageType.".$index] === "OID: HOST-RESOURCES-TYPES::hrStorageRam") {
            $descr = $syscontact["HOST-RESOURCES-MIB::hrStorageDescr.".$index];
            $descr = str_replace("STRING: ", "", $descr);
            $descr = $descr[0];
            $tabStorage[$index]["description"] = $descr;
            $tailleMax = str_replace("INTEGER: ", "", $syscontact["HOST-RESOURCES-MIB::hrStorageSize.".$index]);
            $tabStorage[$index]["tailleMax"] = $tailleMax;
            $utilise = str_replace("INTEGER: ", "", $syscontact["HOST-RESOURCES-MIB::hrStorageUsed.".$index]);
            $tabStorage[$index]["utilise"] = $utilise;
        }
        else {
            unset($tabStorage[$index]);
        }
    }
    if(!empty($tabStorage)) {
        foreach($tabStorage as $t) {
            $pourcentageUtilise = ceil(($t["utilise"] / $t["tailleMax"]) * 100);
            if($pourcentageUtilise < 60) {
                $criticite = Criticite::recherche(1);
            }
            else if($pourcentageUtilise < 80) {
                $criticite = Criticite::recherche(3);
            }
            else {
                $criticite = Criticite::recherche(5);
            }
            $message = "L'utilisation de la mémoire est de ".$pourcentageUtilise."%";
            $evenement = new \Evenement(0, $message, $restreindre->getTypeEvenement(), $criticite, $restreindre->getMachine(), $ajd);
            $evenement->ajout();
        }
    }
    else {
        $criticite = Criticite::recherche(1);
        $message = "Aucune RAM disponible sur cet ordinateur";
        $evenement = new \Evenement(0, $message, $restreindre->getTypeEvenement(), $criticite, $restreindre->getMachine(), $ajd);
        $evenement->ajout();
    }
    $message = null;
?>